package com.bifang.common.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

/**
 * 业务接口日志
 *
 * @author chenzh
 * @since 2020-06-12
 */
@Data
@ApiModel(value = "OplogApi对象", description = "业务接口日志")
public class OplogApiQueryVO extends BasePageVO {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    private String reqLogId;

    @ApiModelProperty(value = "请求开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date begTime;

    @ApiModelProperty(value = "请求结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    @ApiModelProperty(value = "时长 单位秒")
    private BigDecimal countTime;

    @ApiModelProperty(value = "请求ip地址")
    private String ip;

    @ApiModelProperty(value = "请求方法标题")
    private String title;

    @ApiModelProperty(value = "请求类")
    private String classPath;

    @ApiModelProperty(value = "请求方法")
    private String method;

    @ApiModelProperty(value = "请求api")
    private String reqApi;

    @ApiModelProperty(value = "请求体参数")
    private String reqBody;

    @ApiModelProperty(value = "返回参数")
    private String resBody;

    @ApiModelProperty(value = "服务器ip")
    private String serverIp;

    @ApiModelProperty(value = "服务器端口")
    private Integer serverPort;

    @ApiModelProperty(value = "应用名称")
    private String servletContext;

    @ApiModelProperty(value = "成功标识 0 成功 其他失败")
    private String code;

    @ApiModelProperty(value = "描述")
    private String message;

    @ApiModelProperty(value = "年月")
    private Integer ym;

    @ApiModelProperty(value = "登入token")
    private String accessToken;

    @ApiModelProperty(value = "路由id")
    private String routerId;

    @ApiModelProperty(value = "功能id")
    private String funcId;

    @ApiModelProperty(value = "功能名称")
    private String funcTitle;

    @ApiModelProperty(value = "用户id")
    private String userId;

    @ApiModelProperty(value = "姓名")
    private String fullName;

    @ApiModelProperty(value = "第三方id")
    private String openId;

    @ApiModelProperty(value = "登入方设备类型 pc app")
    private String equipmentType;

    @ApiModelProperty(value = "应用id")
    private String clientId;

    @ApiModelProperty(value = "应用名称")
    private String appName;

    @ApiModelProperty(value = "操作日志id")
    private Long oplogId;

    @ApiModelProperty(value = "登入类型：微信 单点登录")
    private String loginType;

    @ApiModelProperty(value = "用户类型")
    private String userType;

    @ApiModelProperty(value = "系统版本号")
    private String version;

    @ApiModelProperty(value = "系统编号")
    private String systemCode;

    @ApiModelProperty(value = "系统名称")
    private String systemName;

    @ApiModelProperty(value = "登入方设备id")
    private String equipmentId;

    @ApiModelProperty(value = "功能编号")
    private String funcCode;

    @ApiModelProperty(value = "功能类型")
    private String funcType;

    @ApiModelProperty(value = "联办ID")
    private String unionLogId;

    @ApiModelProperty(value = "是否查询历史")
    private Boolean history;

    @ApiModelProperty(value = "查询时间开始")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date begTimeStart;

    @ApiModelProperty(value = "查询时间结束")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date begTimeEnd;

    @ApiModelProperty(value = "耗时开始")
    private BigDecimal countTimeStart;

    @ApiModelProperty(value = "耗时结束")
    private BigDecimal countTimeEnd;

    @ApiModelProperty(value = "年月开始")
    private Integer ymStart;

    @ApiModelProperty(value = "年月结束")
    private Integer ymEnd;

    @ApiModelProperty(value = "路由功能关联表id")
    private BigDecimal sysId;
}
